<?php
class Acl extends Zend_Acl {

    public function __construct()
    {
       
        $this->addRole(new Zend_Acl_Role('cliente'));
        $this->addRole(new Zend_Acl_Role('admin'), 'cliente');
        $this->addRole(new Zend_Acl_Role('guest'));

        /**
         * Adicionar controller.
         */
        $this->addResource('index');
        $this->addResource('error');
        $this->addResource('acesso');
        $this->addResource('compra');
        $this->addResource('produto');
        $this->addResource('mercado');
        $this->addResource('rede');
        $this->addResource('localidade');
        $this->addResource('usuario');
        $this->addResource('endereco');
        $this->addResource('autocomplete');
        
		/**
		 * Permitir o controller / action a alguem.
		 */
        $this->allow('admin', array('produto', 'mercado', 'rede', 'localidade'));
        $this->allow('admin', 'mercado', 'bloquear');
        $this->allow('admin', 'usuario', array('listar', 'bloquear', 'administrar'));
        
        $this->allow('cliente', array('index', 'error', 'acesso', 'compra'));
        $this->allow('cliente', 'produto', array('listar', 'editar'));
        $this->allow('cliente', 'mercado', array('listar', 'criar', 'add-mercado-preferido', 'remove-mercado-preferido', 'list-in-map', 'ajax-buscar-coordenadas',
        									'editar'));
        $this->allow('cliente', 'usuario', array('board', 'alterar-senha', 'ajax-valida-senha', 'alterar-regiao-preferencia', 
								            'ajax-alterar-regiao-preferencia', 'ajax-buscar-regiao-preferencia', 'linkar-conta-facebook', 'ajax-atualizar-link-facebook',
								        	'ajax-estah-cadastrado', 'simulacao'));
        $this->allow(array('cliente', 'guest'), 'autocomplete');
        $this->allow(array('cliente', 'guest', 'admin'), 'produto', array('carga', 'criar'));
        $this->allow(array('cliente', 'guest', 'admin'), 'produto', 'ajax-salvar-comentario');
        
        $this->allow('guest', 'acesso', array('login'));
        $this->allow('guest', array('error'));
        $this->allow('guest', 'usuario', array('criar', 'ajax-estah-cadastrado', 'recuperar-senha'));
        $this->allow('guest', 'mercado', array('ajax-buscar-coordenadas', 'list-in-map'));
        $this->allow('guest', 'compra', array('ajax-salvar-colaboracao'));
        

                
        $this->deny('guest', array('index'));
        $this->allow('guest', array('index'), 'gps');
        $this->allow('guest', array('index'), 'livre');
    }
    

}